home *** CD-ROM | disk | FTP | other *** search
- /*
- ** termEmulationProcess.h
- **
- ** Terminal emulation process support
- **
- ** Copyright © 1990-1994 by Olaf `Olsen' Barthel
- ** All Rights Reserved
- */
-
- #define ObtainTerminal() ObtainSemaphore(&TerminalSemaphore)
- #define ReleaseTerminal() ReleaseSemaphore(&TerminalSemaphore)
-
- #define PostData(dData,dSize) { \
- if(Marking) \
- DropMarker(); \
- if(TerminalQueue) \
- { \
- struct DataMsg *Msg; \
- if(Msg = (struct DataMsg *)CreateMsgItem(sizeof(struct DataMsg) + dSize)) \
- { \
- Msg -> Data = (APTR)(Msg + 1); \
- Msg -> Size = dSize; \
- CopyMem(dData,Msg -> Data,Msg -> Size); \
- PutMsgItem(TerminalQueue,Msg); \
- } \
- else \
- { \
- ClearCursor(); \
- (*ConProcessData)(dData,dSize); \
- DrawCursor(); \
- } \
- } \
- else \
- { \
- ClearCursor(); \
- (*ConProcessData)(dData,dSize); \
- DrawCursor(); \
- } \
- }
-